<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    一、内容层面
    1、DNS解析优化
    2、避免重定向
    3、杜绝404

    二、网络传输阶段
    1、减少传输过程中的字体大小
       a、cookie优化
       去除没有必要的cookie，如果网页不需要cookie就完全禁掉。将cookie的大小减到最小。设置合适的过期时间，较长的过期时间可以提高响应速度。
       b、文件压缩
       压缩传输文件通常可以减少70%网页内容的大小，包括脚本、样式表、图片等文件。
    2、减少请求的次数
       a、文件适当合并
       将多个JS脚本文件合并成一个文件，将多个CSS样式表文件合并成一个文件，以此来减少文件的下载次数。
       b、雪碧图
       把小图标合成一张大图
       c、异步加载
       通过async和defer关键字或者动态创建
    
    三、渲染阶段
    1、js放底部，CSS放顶部
    2、减少重绘和回流     （回流必将引起重绘，而重绘不一定会引起回流。）
    3、用transform 代替 top，left ，top， margin-left… 这些位移属性
    4、减少DOM节点
    5、网页中元素过多对网页的加载和脚本的执行都是沉重的负担，因此要减少DOM元素的数量。
    
    四、脚本执行阶段
    1、事件委托
    2、避免无谓的循环，break，continue，return的适当使用
    break：跳出所在的当前整个循环，到外层代码继续执行。break不仅可以结束其所在的循环，还可结束其外层循环，但一次只能结束一种循环。
    continue：跳出本次循环，从下一个迭代继续运行循环，内层循环执行完毕，外层代码继续运行。
    return：直接返回函数，return同时结束其所在的循环和其外层循环，最多只能返回一个值！
    
    小总结
    break; 可用作于switch和循环
    continue; 只可用作于循环
    return表达式; 只可用作于函数

      

</body>
</html>